package cn.longg.service;

import cn.longg.entity.Article;
import cn.longg.entity.Favorite;
import cn.longg.entity.User;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface IArticleService extends IBaseService<Article> {
    /**
     * 分页查询所有文章，如果article有title则加上条件查询
     * @param page
     * @param pageSize
     * @param article
     * @return
     */
    PageInfo selectByPage(int page, int pageSize, Article article);

    /**
     * 查询该文章有多少收藏数
     * @param article
     * @return
     */
    List<Favorite> findfavouriteNum(Article article);

    /**
     * 增加浏览数
     * @param article
     * @return
     */
    int browseIncr(Article article);

    /**
     * 获取当前用户是否收藏了文章以及用户关注的人有谁收藏了文章
     * @param loginUser
     * @return
     */
    Map<String, Object> whoFavorite(int articleId,User loginUser);

    /**
     * 查询当前用户收藏的全部文章
     * @param title
     * @param id
     * @return
     */
    PageInfo selectFavByPage(int page,int pageSize,String title, Integer id);
}
